package com.huawang.mdesign.model.service.constant;

import com.huawang.core.semantics.constants.ModelPackageNameConstants;

import java.util.HashSet;
import java.util.Set;

/**
 * 覆盖MBSP包中bean的名称
 */
public class SpringBeanNameConstants {

    private SpringBeanNameConstants() {
    }

    public static final String MODEL_MANAGER_CONFIG = ModelPackageNameConstants.UAF + "ModelManagerConfig";

    public static final String PROPERTY_OPERATION = ModelPackageNameConstants.UAF + "PropertyOperation";

    public static final String PROPERTY_REMOVE_OPERATION = ModelPackageNameConstants.UAF + "PropertyRemoveOperation";

    public static final String INTERNAL_SPECIFICATION_SERVICE = ModelPackageNameConstants.UAF + "InternalSpecificationService";

    public static final String UML_SERVICE = ModelPackageNameConstants.UAF + "UmlService";

    public static final String PROJECT_MANAGER = ModelPackageNameConstants.UAF + "ProjectManager";

    public static final String ELEMENT_DEFINE_SERVICE = ModelPackageNameConstants.UAF + "ElementDefineService";

    public static final String ELEMENT_MODEL_INFO_SERVICE = ModelPackageNameConstants.UAF + "ElementModelInfoService";

    public static final String PROPERTY_MANAGER = ModelPackageNameConstants.UAF + "PropertyManager";

    public static final String CREATE_ABSTRACTION = ModelPackageNameConstants.UAF + "Abstraction";

    public static final String CREATE_ASSOCIATION = ModelPackageNameConstants.UAF + "Association";

    public static final String CREATE_PROPERTY = ModelPackageNameConstants.UAF + "Property";

    public static final String ELEMENT_SHOW = ModelPackageNameConstants.UAF + "ElementShow";

    /**
     * 属性修改类的名称常量类
     */
    public static final String UPDATE_STATE_DO_ACTIVITY = ModelPackageNameConstants.UAF + "updateStateDoActivity";
    public static final String UPDATE_STATE_ENTRY = ModelPackageNameConstants.UAF + "updateStateEntry";
    public static final String UPDATE_STATE_EXIT = ModelPackageNameConstants.UAF + "updateStateExit";
    public static final String UPDATE_TRANSITION_EFFECT = ModelPackageNameConstants.UAF + "updateTransitionEffect";
    public static final String UPDATE_ACTIVITY_NODE_IN_PARTITION = ModelPackageNameConstants.UAF + "updateActivityNodeInPartition";
    public static final Set<String> PROPERTY_OPERATION_METHODS_SET = new HashSet<>();
    static {
        PROPERTY_OPERATION_METHODS_SET.add(UPDATE_STATE_DO_ACTIVITY);
        PROPERTY_OPERATION_METHODS_SET.add(UPDATE_STATE_ENTRY);
        PROPERTY_OPERATION_METHODS_SET.add(UPDATE_STATE_EXIT);
        PROPERTY_OPERATION_METHODS_SET.add(UPDATE_TRANSITION_EFFECT);
        PROPERTY_OPERATION_METHODS_SET.add(UPDATE_ACTIVITY_NODE_IN_PARTITION);
    }
}
